/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package commonlib.drivers;

import commonlib.domain.*;
import java.util.*;

/**
 *
 * @author daniel.camacho.rodriguez
 */
public class CorpusDriver {

    public static void main(String argv[])
    {
        System.out.println("Selecciona una opcio !");
        System.out.println("1- Insereix corpus");
        System.out.println("2- Mostra Corpus");
        System.out.println("3- Afegir parell");
        System.out.println("4- Buscar parell");
        System.out.println("5- Eliminar parell");
        System.out.println("6- Modificar parell");
        System.out.println("-1 para exit");

        Corpus co = new Corpus();
        Scanner scan = new Scanner(System.in);

        int opcion = scan.nextInt();
        while (opcion != -1)
        {
            if (opcion == 1)
            {
                System.out.println("Inserta parells de paraules separades per espais, i per acabar un espai i un '.' :");
                String partCorpus = scan.next();
                String totCorpus = new String();
                while (!partCorpus.equals("."))
                {
                    totCorpus = totCorpus.concat(partCorpus.concat(" "));
                    partCorpus = scan.next();
                }
                co.SetAllCorpus(totCorpus);
            }
            else if (opcion == 2)
            {
                System.out.print("Corpus : ");
                String totCorpus = co.GetAllCorpus();
                System.out.println(totCorpus);
            }
            else if (opcion == 3)
            {
                System.out.println("Quina parella de Alpha, Beta vols inserir?");
                System.out.print("Alpha : ");
                String alpha = scan.next();
                System.out.print("Beta : ");
                String beta = scan.next();
                co.AddPair(alpha, beta);
            }
            else if (opcion == 4)
            {
                System.out.println("Quina parella vols buscar?");
                System.out.print("Alpha : ");
                String alpha = scan.next();
                System.out.print("Beta : ");
                String beta = scan.next();
                if(co.SearchPair(alpha,beta)) System.out.println("Si!");
                else System.out.println("No!");
            }
            else if (opcion == 5)
            {
                System.out.println("Quina parella vols eliminar?");
                System.out.print("Alpha : ");
                String alpha = scan.next();
                System.out.print("Beta : ");
                String beta = scan.next();
                if(co.RemovePair(alpha, beta)) System.out.println("Si, s'ha borrat");
                else System.out.println("No, s'ha borrat");
            }
            else if(opcion == 6)
            {
                System.out.println("Quin parell vols modificar?");
                System.out.print("Alpha : ");
                String alpha = scan.next();
                System.out.print("Beta : ");
                String beta = scan.next();
                if(co.SearchPair(alpha, beta))
                {
                    System.out.println("Que vols modificar?");
                    System.out.println("1- Modificar Alpha");
                    System.out.println("2- Modificar Beta");
                    System.out.println("3- Modificar Parell");
                    ABPair parell = new ABPair(alpha,beta);
                    opcion = scan.nextInt();
                    if (opcion == 1)
                    {
                        System.out.print("Nova alpha ?");
                        alpha = scan.next();
                        co.ModifyAlpha(parell,alpha);
                    }
                    else if (opcion == 2)
                    {
                        System.out.print("Nova beta ?");
                        beta = scan.next();
                        co.ModifyBeta(parell,beta);
                    }
                    else if (opcion == 3)
                    {
                        System.out.print("Nova alpha ?");
                        alpha = scan.next();
                        System.out.print("Nova beta ?");
                        beta = scan.next();
                        co.ModifyPair(parell,alpha,beta);
                    }
                }
                else System.out.println("Aquest parell <"+alpha+", "+beta+"> no existeix");
            }
            else if (opcion == -2)
            {
                System.out.println("Selecciona una opcio !");
                System.out.println("1- Insereix corpus");
                System.out.println("2- Mostra Corpus");
                System.out.println("3- Contar aparicions");
                System.out.println("4- Afegir parell");
                System.out.println("5- Buscar parell");
                System.out.println("6- Eliminar parell");
                System.out.println("7- Modificar parell");
                System.out.println("-1 para exit");
            }
            System.out.println("Que vols fet? (-2 per recordar opcions)");
            opcion = scan.nextInt();
        }
    }
}
